/*oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO*/
//								Battery Module
/*oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO*/

#ifndef BATTERY_MODULE
#define BATTERY_MODULE

#include <WinSock2.h>
#include "Types.h"

/*
 * MainBattery
 * =========================
 * Function Description: This is the main function of the battery. It will connect to the manager and clock,
 *                       accept connections from its interceptors and will then react to the instructions 
 *                       given by the manager. For detailed information on the way the battery works, see the 
 *                       readme file.
 * Arguments: argc		The number of passed arguments. passed on from the "main" function.
 * 			  argv		The arguments, passed on from the "main" function. See a specific list of arguments below.
 *
 * List of arguments the battery expects in argv:
 * 			- Mode Name					A string containing the name of the mode. "Battery" is expected in this case.
 * 			- Self i.p					A string of the battery's IP address. For example 127.0.0.1.
 * 			- Self Port					An integer representing the battery's port number.
 *			- Clock i.p.				A string representing the i.p address of the clock.
 *			- Clock port.				An integer representing the clock's port number.
 *			- Iron Dome Manager IP 		A string representing the i.p address of the Iron Dome Manager.
 *			- Iron Dome Manager Port 	An integer representing Iron Dome Manager Port number.
 *			- Battery Position X  		A double representing the battery's X position. 
 *			- Battery Position Y  		A double representing the battery's Y position. 
 */
void MainBattery(int argc, char *argv[]);


#endif